-
-
Notifications
You must be signed in to change notification settings - Fork 291
fix(deps): update dependency plaid to v41 #11307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Looks like we should review
|
84ed951 to
225ef3e
Compare
package.json
Outdated
| "pg-format": "1.0.4", | ||
| "pg-listen": "1.7.0", | ||
| "plaid": "31.1.0", | ||
| "plaid": "41.0.0", |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
bff56f1 to
6028bdf
Compare
6028bdf to
8157875
Compare
8157875 to
1ebe20d
Compare
| @@ -118,7 +118,7 @@ | |||
| "pg-connection-string": "2.9.1", | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: The Plaid API can return null for mask and official_name, but the Zod schema expects non-null strings, causing a silent failure when updating accounts.
Severity: MEDIUM
Suggested Fix
In server/lib/plaid/connect.ts, handle potential null values from the Plaid API for account.mask and account.official_name. Coalesce null to an empty string (e.g., account.mask ?? '') before calling transactionsImport.update() to ensure the data conforms to the Zod schema's non-null string requirement.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: package.json#L118
Potential issue: The Plaid API can return `null` for `account.mask` and
`account.official_name`. The code in `server/lib/plaid/connect.ts` unconditionally uses
these values when updating a `transactionsImport`. However, the Zod schema in
`server/models/TransactionsImport.ts` defines `mask` and `officialName` as required,
non-null strings. When `transactionsImport.update()` is called with `null` values, the
validation fails. This error is caught and reported to Sentry, but it silently prevents
the list of available accounts from being updated, meaning users will not see their
accounts after a refresh.
Did we get this right? 👍 / 👎 to inform future reviews.
This PR contains the following updates:
31.1.0→41.1.0Release Notes
plaid/plaid-node (plaid)
v41.1.0Compare Source
OpenAPI Schema Changes
2020-09-14_1.680.8
cra_plaid_credit_scorevalue to Products enum. Note that this value is deprecated and is added only to reflect current API behavior, as it is present in the supported products array returned by insititutions endpoints.cra_plaid_credit_scoreshould not be used in any requests to/link/token/createand is planned to be removed from the API.2020-09-14_1.680.7
environmentfield toProtectUserEventWebhook2020-09-14_1.680.6
/partner/customer/create2020-09-14_1.680.6
201response to/user/create2020-09-14_1.680.5
/user/items/removeendpoint2020-09-14_1.680.4
/user/identity/removeendpoint to allow customers to explicitly purge identity data2020-09-14_1.680.3
is_investments_fallback_itemas an optional rather than required parameter in the response schema for/processor/investments/holdings/getendpoint (not yet currently used in Production by any customers), to achieve consistency with/investments/holdings/get.2020-09-14_1.680.2
/user_account/session/event/sendendpoint for Layer customer event tracking2020-09-14_1.680.1
report_typetoreport_requested.v41.0.0Compare Source
Breaking changes in this version
/user/items/listendpoint (not used by or exposed to any customers)OpenAPI Schema Changes
2020-09-14_1.680.0
2020-09-14_1.679.1
/user/get2020-09-14_1.679.0
IdentityVerificationListRequestschema objectuser_idand new user APIs2020-09-14_1.678.3
/user/items/listendpoint (not used by or exposed to any customers)2020-09-14_1.678.2
required_account_subtypesandprovided_account_subtypestoErrorresponse object for NO_ACCOUNTS errors (currently only populated wheninvestments_authpresent inenabled_products)2020-09-14_1.678.1
2020-09-14_1.678.0
request_guaranteeto/transfer/authorization/createwith_guaranteedeprecated in/transfer/authorization/create2020-09-14_1.677.3
/link/token/getresponse.2020-09-14_1.677.2
/sandbox/public_token/createrequest object2020-09-14_1.677.1
/user/items/getrequest object and make user_token optional.2020-09-14_1.677.0
/sandbox/user/reset_loginrequest object and make user_token optional.2020-09-14_1.676.0
v40.0.0Compare Source
Breaking changes in this version
[Breaking for Go] make user_token not required for
sandbox/cra/cashflow_updates/update[Breaking] make user_token not required for
cra/monitoring_insights/get,cra/check_report/createandcra/monitoring_insights/subscribeOpenAPI Schema Changes
2020-09-14_1.675.0
sandbox/cra/cashflow_updates/update2020-09-14_1.674.1
/user/products/terminateendpoint2020-09-14_1.674.0
cra/monitoring_insights/get,cra/check_report/createandcra/monitoring_insights/subscribe2020-09-14_1.673.4
2020-09-14_1.673.3
2020-09-14_1.673.2
network_insightstocra_options2020-09-14_1.673.1
income_providerfield tobank_income_sourcesobjects returned by/cra/check_report/income_insights/get2020-09-14_1.673.0
statusfield to/cra/check_report/income_insights/get'sbank_income_sourceobject2020-09-14_1.672.5
2020-09-14_1.672.5
PLAID-NEW-USER-API-ENABLEDheader in favor of thewith_upgraded_userrequest field2020-09-14_1.672.4
latest_scored_protect_eventvisible on/identity_verification/get,/identity_verification/createand/identity_verification/retryresponseuser_idvisible on/link/token/createresponse2020-09-14_1.672.3
IdentityCreationResultfrom/user/createand/user/update2020-09-14_1.672.2
2020-09-14_1.672.1
IncomeProvidernullable in/cra/check_report/income_insights/get2020-09-14_1.672.0
minimum_balance,transfers_in,total_income, andincome_excluding_transfers.category_detailsmissing atypedefinition (type: array) within theLoanDisbursementsIndicatorsobject.issue_dateto Identity Verification endpoints2020-09-14_1.671.6
2020-09-14_1.671.5
2020-09-14_1.671.4
2020-09-14_1.671.4
require_upgraded_userboolean field in/user/createtowith_upgraded_user2020-09-14_1.671.3
IncomeProviderto/cra/check_report/income_insights/get2020-09-14_1.671.2
require_upgraded_userboolean field to the/user/createrequest2020-09-14_1.671.1
2020-09-14_1.671.0
v39.1.0Compare Source
OpenAPI Schema Changes
2020-09-14_1.670.0
/cra/check_report/verification/get2020-09-14_1.669.0
AccountInsightsto/asset_report/get2020-09-14_1.668.3
identity_creation_resultto benullfor V0/user/createroutes2020-09-14_1.668.2
/user/third_party_token/create2020-09-14_1.668.1
optionsfornetwork_insightsinlink/token/create,cra/check_report/create, andcra/check_report/network_insights/get2020-09-14_1.668.0
cra_cashflow_insightsandcra_lend_scoreto Products array and creating newPlaidLendScoreVersionschema object./signal/evaluate.2020-09-14_1.667.6
/protect/report/createendpoint2020-09-14_1.667.5
/transfer/platform/originator/createto docs/transfer/platform/person/createto docs/transfer/platform/requirement/submitto docs2020-09-14_1.667.4
2020-09-14_1.667.3
cra/check_report/pdf/get2020-09-14_1.667.2
2020-09-14_1.667.1
v39.0.0Compare Source
Breaking changes in this version
cra/check_report/plaid_credit_score/getitem_idto/cra/monitoring_insights/subscriberequestOpenAPI Schema Changes
2020-09-14_1.667.0
errorsfield toinstitutionsobjects in/partner/customer/oauth_institutions/getresponse2020-09-14_1.666.10
cra_update_resultsfield toresultsobjects in/link/token/getresponse2020-09-14_1.666.9
countfield fromTransferEventSyncRequestto maximum of 500 and default of 1002020-09-14_1.666.8
id_numbersfield fromUserCreateRequest(field was never processed by application logic)ClientUserIdentity.id_numbersto useUserIDNumberfrom cognito.yml instead of the customClientUserIdentityIdNumberschema2020-09-14_1.666.7
ClientUserIdentityAddressTypefromClientUserIdentityAddress2020-09-14_1.666.6
primaryboolean toClientUserIdentityEmail,ClientUserIdentityPhoneNumber, andClientUserIdentityAddress2020-09-14_1.666.5
SSNtoClientUserIdNumberType2020-09-14_1.666.4
SSN_LAST_4toSSN_LAST_FOUR2020-09-14_1.666.3
/user/getclient_user_idfield properties to be nullable/user/getupdated_atfield nullable property2020-09-14_1.666.2
cra_lend_scoresupport tolink/token/create,cra/check_report/create, andcra/check_report/lend_score/getcra/check_report/plaid_credit_score/get2020-09-14_1.666.1
ErrorTypeonIdentityCreationResultto be optional2020-09-14_1.666.0
/user/getendpoint to retrieve user identity and information.2020-09-14_1.665.6
/user/update2020-09-14_1.665.5
expected_settlement_datedeprecated intransfer2020-09-14_1.665.4
UserCreateRequestto includeidentityUserCreateResponseto includeidentity_creation_resultUserIdentitytoClientUserIdentity2020-09-14_1.665.3
IdentityCreationResultshared object2020-09-14_1.665.2
UserIdentityshared object2020-09-14_1.665.1
cashflow_insightsreferences2020-09-14_1.665.0
item_idto/cra/monitoring_insights/subscriberequest2020-09-14_1.664.1
/cra/monitoring_insights/getresponsev38.1.0Compare Source
OpenAPI Schema Changes
2020-09-14_1.664.0
investments_authto enum values for theadditional_consented_productsarray in the/link/token/createrequest schema.2020-09-14_1.663.3
cra_plaid_credit_scoresupport tolink/token/createcra_plaid_credit_scoresupport tocra/check_report/createcra/check_report/plaid_credit_score/getendpoint2020-09-14_1.663.2
user_idtocra/*endpoints2020-09-14_1.663.1
overdraftaccount type to theLoanAccountSubtypeobject, where it was erroneously missingItemConsentedDataScopeobject2020-09-14_1.663.0
/user/items/associateendpoint2020-09-14_1.662.1
2020-09-14_1.662.0
balance_to_transaction_amount_ratioto/signal/evaluate2020-09-14_1.661.0
personal_finance_category_versionto/transactions/get,/transactions/syncand/transactions/enrichrequest options as well as version field in response.2020-09-14_1.660.0
gse_optionstobase_reportoptions in/link/token/createandcra/check_report/create2020-09-14_1.659.0
sedolfield in the InvestmentsSecurityobject.sedolfield in the InvestmentsSecurityOverrideobject.v38.0.0Compare Source
Breaking changes in this version
MonitoringConsumerReportPermissiblePurposeschema object title fromConsumerReportPermissiblePurposetoMonitoringConsumerReportPermissiblePurpose. This may be a breaking change for certain client libraries.OpenAPI Schema Changes
2020-09-14_1.658.0
user_idfield to/session/token/createrequest.userobject optional in/session/token/createifuser_idis included.2020-09-14_1.657.0
Add Add
subtypeproperty to theSecuritymodel.2020-09-14_1.656.1
protect_sdk_session_idfield in the request of/protect/event/sendtoprotect_session_idfor consistency across endpoints.2020-09-14_1.656.0
aamva_verificationobject in the responses ofdocumentary_verification.documents[].analysis. This impacts the following endpoints:identity_verification/createidentity_verification/getidentity_verification/listidentity_verification/retry2020-09-14_1.655.0
max_amountandiso_currency_codetorfpin/transfer/capabilitied/getresponse2020-09-14_1.654.0
MonitoringConsumerReportPermissiblePurposeschema object title fromConsumerReportPermissiblePurposetoMonitoringConsumerReportPermissiblePurpose. This may be a breaking change for certain client libraries.2020-09-14_1.653.0
user_idfield toidentity_verification/createandidentity_verification/listrequests. Whenuser_idis present during creation andclient_user_idis not, theclient_user_idfrom the associated user will be set on the created identity verification. Ifuser_idis present during creation, theuserobject may not also be present. Modifying user data should be done via theuser/updateendpoint.client_user_idoptional inidentity_verification/listifuser_idis included.user_idto the response of all of the identity verification endpoints:identity_verification/createidentity_verification/getidentity_verification/listidentity_verification/retry2020-09-14_1.652.3
cra_monitoringtoProductsarray.2020-09-14_1.652.2
/user/items/listendpoint2020-09-14_1.652.1
/transfer/ledger/event/listendpointv37.0.0Compare Source
Breaking changes in this version
voereferences to instead beemployment_refreshin/cra/check_report/verification/getand/cra/check_report/create/cra/check_report/verification/get'sreports_requestedoptions are nowVOAandemployment_refreshvoe_optionsin the request is nowemployment_refresh_options/cra/check_report/verification/get's response now hasreport.employment_refreshinstead ofreport.voegse_options.report_typein/cra/check_report/createare nowVOAandemployment_refreshOpenAPI Schema Changes
2020-09-14_1.652.0
cursorandcountfields to the/payment_initiation/recipient/listrequest andnext_cursorto its response2020-09-14_1.651.2
user_idfield tolink/token/createrequestuserobject optional inlink/token/createifuser_idis included2020-09-14_1.651.1
errorfield toWALLET_TRANSACTION_STATUS_UPDATEwebhook and to responses of/wallet/transaction/getand/wallet/transaction/list, containing error details for failed transactions.2020-09-14_1.651.0
/verify/client/*routes to/protect/client/*and update request/response body and field names accordingly.2020-09-14_1.650.1
days_required2020-09-14_1.650.0
account_numberstoCounterpartyin/transaction/getand/transaction/sync2020-09-14_1.649.2
InsitutionIDandInstitutionNameto/cra/monitoring_insights/getresponse2020-09-14_1.649.1
cra_options.days_requestedinlink/token/createto 731 (2 years + 1 days for leap year)cra_options.days_requiredinlink/token/createto 184 (most number of days in a 6 month period) from 730days_requiredincra/check_report/createto 184 (most number of days in a 6 month period)2020-09-14_1.649.0
2020-09-14_1.648.2
2020-09-14_1.648.1
last_successful_update_timeto/cashflow_report/get2020-09-14_1.648.0
require_identitytocra_options.base_reportinlink/token/createand/cra/check_report/createrequests2020-09-14_1.647.1
/transfer/ledger/distributesummary2020-09-14_1.647.0
webhook_codesfield to/sandbox/cashflow_updates/updaterequest2020-09-14_1.646.0
voereferences to instead beemployment_refreshin/cra/check_report/verification/getand/cra/check_report/create/cra/check_report/verification/get'sreports_requestedoptions are nowVOAandemployment_refreshvoe_optionsin the request is nowemployment_refresh_options/cra/check_report/verification/get's response now hasreport.employment_refreshinstead ofreport.voegse_options.report_typein/cra/check_report/createare nowVOAandemployment_refresh2020-09-14_1.645.1
/transfer/ledger/distributev36.0.0Compare Source
OpenAPI Schema Changes
2020-09-14_1.645.0
payment_detailsfield from/accounts/balance/getrequestpayment_risk_assessmentfrom/accounts/balance/getresponse2020-09-14_1.644.1
ProtectUserEventWebhook.2020-09-14_1.644.0
REAL_TIME_PAYMENTSandDEBIT_CARDas these payment methods are not supported by the Signal product./cra/check_report/create'spartner_insightsobject to typeCraCheckReportCreatePartnerInsightsOptionsinstead ofCraCheckReportPartnerInsightsGetOptions. All the object fields are identical./cra/check_report/partner_insights/get'soption.prism_versionsobject to typePrismVersionsDeprecatedinstead ofPrismVersions. All the object fields' are identical.2020-09-14_1.642.2
ProtectUserEventWebhook.2020-09-14_1.642.1
/link/token/create'sbase_report. Revert erroneous deprecation ofcra_options.base_report.2020-09-14_1.642.0
errorfield to responses of/payment_initiation/payment/getand/payment_initiation/consent/payment/executecontaining error details when the payment fails.v35.0.0Compare Source
Breaking changes in this version
OpenAPI Schema Changes
2020-09-14_1.641.1
2020-09-14_1.641.0
/link/token/create'scra_options.base_reportobject in favor ofcra_options.client_report_id2020-09-14_1.640.0
2020-09-14_1.639.0
webhookfield to/session/token/createrequest2020-09-14_1.638.6
2020-09-14_1.638.5
2020-09-14_1.638.4
2020-09-14_1.638.3
2020-09-14_1.638.2
2020-09-14_1.638.1
link/token/get.2020-09-14_1.638.0
2020-09-14_1.637.6
report.items.accounts.account_insightsfor/cra/check_report/base_report/getv34.0.0Compare Source
Breaking changes in this version
user_tokenfield inUserCreateResponseto be optional.OpenAPI Schema Changes
2020-09-14_1.637.5
nullable: trueonAccountBaseNullableobject, making the object actuallynullable.2020-09-14_1.637.4
unsentvalue as a possibleverification_statusto reflect actual API behavior.2020-09-14_1.637.3
PLAID-NEW-USER-API-ENABLEDas a header parameter to/user/create. This header is only for the use of customers in the new user API beta; customers should not use this parameter unless they have been advised to do so by Plaid.PLAID-NEW-USER-API-ENABLEDas a header parameter to/user/remove. This header is only for the use of customers in the new user API beta; customers should not use this parameter unless they have been advised to do so by Plaid.2020-09-14_1.637.2
user_idto/session/token/createresponse2020-09-14_1.637.1
institution_idto/item/import2020-09-14_1.637.0
android_package_nameto/session/token/create2020-09-14_1.636.0
average_inflow_amountto be positive.2020-09-14_1.635.4
user_tokenfield inUserCreateResponseto be optional.user_tokenfield inUserRemoveRequestto be optional.2020-09-14_1.635.3
user_idto/link/token/createresponsev33.0.0Compare Source
Breaking changes in this version
resultfromtriggered_rule_detailstorulesetin response of/signal/evaluateclient_user_idis now required for/session/token/createOpenAPI Schema Changes
2020-09-14_1.635.2
ruleset.outcomein/signal/evaluateresponse2020-09-14_1.635.1
report.items.accounts.attributesafter it was mistakenly deprecated for/cra/check_report/base_report/get2020-09-14_1.635.0
expected_funds_available_datetotransferandsweepobjects in responses for/transfer/create,/transfer/get,/transfer/list,/transfer/sweep/get,/transfer/sweep/list2020-09-14_1.634.3
report.items.accounts.attributesafter it was mistakenly deprecated for/cra/check_report/base_report/get2020-09-14_1.634.2
deposit_switchfrom theproductsfield in the/link/token/createrequest2020-09-14_1.634.1
resultfromtriggered_rule_detailstorulesetin response of/signal/evaluate2020-09-14_1.634.0
client_user_idis now required for/session/token/createv32.0.0Compare Source
Breaking changes in this version
accountobject to nullable in/processor/transactions/syncresponsewebhookfield inIssuesSubscribeRequestto be requiredAssetReportinvestmentsfield -- it is now correctly represented as anAssetReportInvestmentsobject, not anAssetReportInvestmentsTransactionobject, to accurately reflect the API behavior.user/createanduser/updateposted_datefield on/statements/listresponse to be nullableinvestmentsschema returned by/asset_report/get(AssetReportInvestments) to accurately reflect the actual API behavior, including renaming the schema objectscoreinPlaidCheckScorefrom a float to an integerOpenAPI Schema Changes
2020-09-14_1.633.1
accountobject to nullable in/processor/transactions/syncresponse2020-09-14_1.633.0
user_idfield of/session/token/createrequest to be withinuser2020-09-14_1.632.6
CashFlowUpdatesLowBalanceWebhookandCashFlowUpdatesLargeDepositWebhook2020-09-14_1.632.5
CashFlowUpdatesInsightsWebhookfor Cash Flow Updates2020-09-14_1.632.4
triggered_rule_detailsto/signal/evaluateresponse2020-09-14_1.632.3
webhookfield inIssuesSubscribeRequestto be required2020-09-14_1.632.2
warningsfield in/cra/check_report/verification/getresponse to be required2020-09-14_1.632.1
ATandFIto the list of available countries2020-09-14_1.632.0
user_idfield to/session/token/createrequest2020-09-14_1.631.0
AssetReportinvestmentsfield -- it is now correctly represented as anAssetReportInvestmentsobject, not anAssetReportInvestmentsTransactionobject, to accurately reflect the API behavior.2020-09-14_1.630.0
income_categoriesparam to/cra/monitoring_insights/subscriberequest2020-09-14_1.629.0
user/createanduser/update2020-09-14_1.628.4
2020-09-14_1.628.3
warningsto responses forcra/check_report/income_insights/get,cra/check_report/network_insights/get,cra/check_report/cashflow_insights/get, andcra/check_report/partner_insights/get2020-09-14_1.628.2
options.add_onsfield inasset_reports/create2020-09-14_1.628.1
client_report_idfield tocra/check_report/createrequest and deprecatebase_report.client_report_idfield incra/check_report/create.client_report_idfield toLinkTokenCreateRequestCraOptionsfieldclient_report_idfield inLinkTokenCreateRequestBaseReportclient_report_idfield toCraIncomeInsights2020-09-14_1.628.0
redirect_urifield to/session/token/createrequest2020-09-14_1.627.1
transfer_idfield onTransferEventschema to be empty string for Plaid Ledger Sweep events2020-09-14_1.627.0
posted_datefield on/statements/listresponse to be nullable2020-09-14_1.626.0
2020-09-14_1.625.2
USER_PERMISSION_REVOKEDandUSER_ACCOUNT_REVOKEDwebhook codes toWebhookCodeEnuminSandboxItemFireWebhookRequestto reflect actual API behavior.2020-09-14_1.625.1
verification_namefield toAccount2020-09-14_1.625.0
posted_datefield to/statements/listresponse2020-09-14_1.624.0
human_reviewobject to theanalysisobject within eachdocumentary_verification.documentsobject. This change affects the response of all of the identity verification endpoints:identity_verification/createidentity_verification/getidentity_verification/listidentity_verification/retry2020-09-14_1.623.0
2020-09-14_1.622.0
investmentsschema returned by/asset_report/get(AssetReportInvestments) to accurately reflect the actual API behavior, including renaming the schema object2020-09-14_1.621.0
scoreinPlaidCheckScorefrom a float to an integerConfiguration
📅 Schedule: Branch creation - "every weekday after 2:00 am before 6:00 am,every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.